STAT

#include <sys\types.h>
#include <sys\stat.h>
int stat(pathname, buffer);
char *pathname;       path-имя существующего файла
struct stat *buffer;  указатель на строку, принимающую результаты

Описание.
Функция stat получает информацию о файле или директории, определенном по pathname , и запоминает ее в структуре, на которую указывает buffer . Структура stat , объявленная в <sys\stat.h> , содержит следующие поля.

               Поле                              Значение
                                 
               st_mode              Битовая  маска  для информации о режиме
                                    файла.  Бит   S_IFDIR  устанавливается,
                                    если  pathname  определяет  директорий;
                                    бит   S_IFREG   устанавливается,   если
                                    pathname  ссылается  на  обычный  файл.
                                    Биты   чтения/записи    устанавливаются
                                    пользователем в соответствии с  режимом
                                    доступа к файлу. Пользователь выполняет
                                    установку битов, используемых для  рас-
                                    ширения имени файла.
            
               st_dev               Номер   устройства  диска,  содержащего
                                    файл.
                 
               st_rdev              Номер   устройства  диска,  содержащего
                                    файл.
                                    (аналогично st_dev).
                           
               st_nlink             Всегда 1.
                           
               st_size              Размер файла  в байтах.
                           
               st_atime             Время последней модификации файла.
                           
               st_mtime             Время последней модификации файла
                                    (аналогично st_atime).
                           
               st_ctime             Время последней модификации файла
                                    (аналогично st_atime и st_mtime).

В структуре типа stat существуют три дополнительных поля, которые для MS DOS не имеют смысла.

Возвращаемое значение.
Функция stat возвращает значение 0, если получена информация о статусе файла. Возвращаемое значение -1 свидетельствует об ошибке, и errno устанавливается в ENOENT , т.е. имя файла или path -имя не найдено.

Замечание.
Если заданный pathname ссылается на устройство, поля размера и времени в структуре stat не имеют осмысленного значения.

Пример.

               #include <sys\types.h>
               #include <sys\stat.h>
               #include <stdio.h>
            
               struct stat buf;
               int result;
               char *args[4];
               .
               .
               .
               result = stat("child.exe", &buf);
            
               if (result == 0)
               if (buf.st_mode & S_IEXEC)
                  execv("child.exe", args);
            
Hosted by uCoz